<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // function exp(name, num) {
        //     this.name = name;
        //     this.num = num;
        // }
        // var a = new exp('xiao a', '1');

        // console.log(exp.prototype)
        // console.log(a.prototype)


        // Array.prototype.sum = function () {
        //     var sum = 0;
        //     for (var i = 0; i < this.length; i++) {
        //         sum += this[i];
        //     }
        //     return sum;
        // };
        // console.log(Array.prototype)


        // 1. 创建构造函数Father 添加属性和方法
        // function Father(money, cars, house, company) {
        //     this.money = money;
        //     this.cars = cars;
        //     this.house = house;
        //     this.company = company;
        // }
        // Father.prototype.manage = function () {
        //     console.log('管理');
        // }
        // // 2. 创建构造函数Son 通过call来实现属性的继承
        // function son(money, cars, house, company) {
        //     Father.call(this, money, cars, house, company)
        // }

        // // 3. 修改Son构造函数的prototype指向
        // son.prototype = new Father();
        // son.prototype.constructor = son;


        // var nums = [1, 2, 3, 4, 5, 6, 7, 8]
        // var result = nums.filter(function (val, index, arr) {
        //     return index == arr[this.index];
        // })

        // 数组去重：
        var arr = [1, 2, 3, 4, 5, 6, 4, 3, 8, 1]
        // filter 过滤 配合 indexOf 查找元素
        function newArrFn(arr) {

            //方法一
            return arr.filter(function (val, index) {
                return arr.indexOf(val) === index
            })

            //方法二
            // var result=[];
            // for(var i=0;i<arr.length;i++){
            //     var index=arr.indexOf(arr[i]);
            //     if(index==i){
            //         result.push(arr[i]);
            //     }
            //     return result;
            // }
        }
        console.log(newArrFn(arr));



    </script>
</body>

</html>